(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Mathematica 8.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       157,          7]
NotebookDataLength[     14890,        434]
NotebookOptionsPosition[     14596,        419]
NotebookOutlinePosition[     14988,        436]
CellTagsIndexPosition[     14945,        433]
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{"\[CapitalDelta]t", " ", "=", "1"}], ";", " ", 
   RowBox[{"\[CapitalDelta]x", "=", "1"}], ";", " ", 
   RowBox[{"\[CapitalDelta]y", "=", "1"}], ";", " ", 
   RowBox[{"\[CapitalDelta]z", "=", "1"}], ";"}], "\[IndentingNewLine]", 
  RowBox[{"(*", " ", 
   RowBox[{"For", " ", "Electrical", " ", "Field"}], 
   "*)"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"\[Epsilon]", "[", 
    RowBox[{"i_", ",", "j_", ",", "k_"}], "]"}], ":=", "1"}], ";", " ", 
  RowBox[{
   RowBox[{"\[Sigma]", "[", 
    RowBox[{"i_", ",", "j_", ",", "k_"}], "]"}], ":=", "1"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"CA", "[", 
    RowBox[{"i_", ",", "j_", ",", "k_"}], "]"}], ":=", 
   FractionBox[
    RowBox[{"1", "-", 
     FractionBox[
      RowBox[{
       RowBox[{"\[Sigma]", "[", 
        RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", "\[CapitalDelta]t", 
       " "}], 
      RowBox[{"2", "*", 
       RowBox[{"\[Epsilon]", "[", 
        RowBox[{"i", ",", "j", ",", "k"}], "]"}]}]]}], 
    RowBox[{"1", "+", 
     FractionBox[
      RowBox[{
       RowBox[{"\[Sigma]", "[", 
        RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", "\[CapitalDelta]t", 
       " "}], 
      RowBox[{"2", "*", 
       RowBox[{"\[Epsilon]", "[", 
        RowBox[{"i", ",", "j", ",", "k"}], "]"}]}]]}]]}], ";", " ", 
  RowBox[{
   RowBox[{"CB", "[", 
    RowBox[{"i_", ",", "j_", ",", "k_"}], "]"}], ":=", 
   FractionBox[
    FractionBox[
     RowBox[{"\[CapitalDelta]t", " "}], 
     RowBox[{"\[Epsilon]", "[", 
      RowBox[{"i", ",", "j", ",", "k"}], "]"}]], 
    RowBox[{"1", "+", 
     FractionBox[
      RowBox[{
       RowBox[{"\[Sigma]", "[", 
        RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", "\[CapitalDelta]t", 
       " "}], 
      RowBox[{"2", "*", 
       RowBox[{"\[Epsilon]", "[", 
        RowBox[{"i", ",", "j", ",", "k"}], "]"}]}]]}]]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"GetEx", "[", 
    RowBox[{"i_", ",", "j_", ",", "k_", ",", "n_"}], "]"}], ":=", " ", 
   RowBox[{
    RowBox[{
     RowBox[{"CA", "[", 
      RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", 
     RowBox[{"Ex", "[", 
      RowBox[{"i", ",", "j", ",", "k", ",", 
       RowBox[{"n", "-", "1"}]}], "]"}]}], "+", 
    RowBox[{
     RowBox[{"CB", "[", 
      RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", 
     RowBox[{"(", 
      RowBox[{
       FractionBox[
        RowBox[{
         RowBox[{"Hz", "[", 
          RowBox[{"i", ",", 
           RowBox[{"j", "+", 
            FractionBox["1", "2"]}], ",", "k", ",", 
           RowBox[{"n", "-", 
            FractionBox["1", "2"]}]}], "]"}], "-", 
         RowBox[{"Hz", "[", 
          RowBox[{"i", ",", 
           RowBox[{"j", "-", 
            FractionBox["1", "2"]}], ",", "k", ",", 
           RowBox[{"n", "-", 
            FractionBox["1", "2"]}]}], "]"}]}], "\[CapitalDelta]y"], "-", 
       FractionBox[
        RowBox[{
         RowBox[{"Hy", "[", 
          RowBox[{"i", ",", "j", ",", 
           RowBox[{"k", "+", 
            FractionBox["1", "2"]}], ",", 
           RowBox[{"n", "-", 
            FractionBox["1", "2"]}]}], "]"}], "-", 
         RowBox[{"Hy", "[", 
          RowBox[{"i", ",", "j", ",", 
           RowBox[{"k", "-", 
            FractionBox["1", "2"]}], ",", 
           RowBox[{"n", "-", 
            FractionBox["1", "2"]}]}], "]"}]}], "\[CapitalDelta]z"]}], 
      ")"}]}]}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"GetEy", "[", 
    RowBox[{"i_", ",", "j_", ",", "k_", ",", "n_"}], "]"}], ":=", " ", 
   RowBox[{
    RowBox[{
     RowBox[{"CA", "[", 
      RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", 
     RowBox[{"Ey", "[", 
      RowBox[{"i", ",", "j", ",", "k", ",", 
       RowBox[{"n", "-", "1"}]}], "]"}]}], "+", 
    RowBox[{
     RowBox[{"CB", "[", 
      RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", 
     RowBox[{"(", 
      RowBox[{
       FractionBox[
        RowBox[{
         RowBox[{"Hx", "[", 
          RowBox[{"i", ",", "j", ",", 
           RowBox[{"k", "+", 
            FractionBox["1", "2"]}], ",", 
           RowBox[{"n", "-", 
            FractionBox["1", "2"]}]}], "]"}], "-", 
         RowBox[{"Hx", "[", 
          RowBox[{"i", ",", "j", ",", 
           RowBox[{"k", "-", 
            FractionBox["1", "2"]}], ",", 
           RowBox[{"n", "-", 
            FractionBox["1", "2"]}]}], "]"}]}], "\[CapitalDelta]z"], "-", 
       FractionBox[
        RowBox[{
         RowBox[{"Hz", "[", 
          RowBox[{
           RowBox[{"i", "+", 
            FractionBox["1", "2"]}], ",", "j", ",", "k", ",", 
           RowBox[{"n", "-", 
            FractionBox["1", "2"]}]}], "]"}], "-", 
         RowBox[{"Hz", "[", 
          RowBox[{
           RowBox[{"i", "-", 
            FractionBox["1", "2"]}], ",", "j", ",", "k", ",", 
           RowBox[{"n", "-", 
            FractionBox["1", "2"]}]}], "]"}]}], "\[CapitalDelta]x"]}], 
      ")"}]}]}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    RowBox[{"GetEz", "[", 
     RowBox[{"i_", ",", "j_", ",", "k_", ",", "n_"}], "]"}], ":=", " ", 
    RowBox[{
     RowBox[{
      RowBox[{"CA", "[", 
       RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", 
      RowBox[{"Ez", "[", 
       RowBox[{"i", ",", "j", ",", "k", ",", 
        RowBox[{"n", "-", "1"}]}], "]"}]}], "+", 
     RowBox[{
      RowBox[{"CB", "[", 
       RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", 
      RowBox[{"(", 
       RowBox[{
        FractionBox[
         RowBox[{
          RowBox[{"Hy", "[", 
           RowBox[{
            RowBox[{"i", "+", 
             FractionBox["1", "2"]}], ",", "j", ",", "k", ",", 
            RowBox[{"n", "-", 
             FractionBox["1", "2"]}]}], "]"}], "-", 
          RowBox[{"Hy", "[", 
           RowBox[{
            RowBox[{"i", "-", 
             FractionBox["1", "2"]}], ",", "j", ",", "k", ",", 
            RowBox[{"n", "-", 
             FractionBox["1", "2"]}]}], "]"}]}], "\[CapitalDelta]x"], "-", 
        FractionBox[
         RowBox[{
          RowBox[{"Hx", "[", 
           RowBox[{"i", ",", 
            RowBox[{"j", "+", 
             FractionBox["1", "2"]}], ",", "k", ",", 
            RowBox[{"n", "-", 
             FractionBox["1", "2"]}]}], "]"}], "-", 
          RowBox[{"Hx", "[", 
           RowBox[{"i", ",", 
            RowBox[{"j", "-", 
             FractionBox["1", "2"]}], ",", "k", ",", 
            RowBox[{"n", "-", 
             FractionBox["1", "2"]}]}], "]"}]}], "\[CapitalDelta]y"]}], 
       ")"}]}]}]}], ";"}], "\[IndentingNewLine]", 
  RowBox[{"(*", " ", 
   RowBox[{"For", " ", "Mangetical", " ", "Field"}], " ", 
   "*)"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"\[Mu]", "[", 
    RowBox[{"i_", ",", "j_", ",", "k_"}], "]"}], ":=", "1"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"CP", "[", 
    RowBox[{"i_", ",", "j_", ",", "k_"}], "]"}], ":=", 
   FractionBox[
    RowBox[{"1", "-", 
     FractionBox[
      RowBox[{
       RowBox[{"\[Sigma]", "[", 
        RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", "\[CapitalDelta]t", 
       " "}], 
      RowBox[{"2", "*", 
       RowBox[{"\[Mu]", "[", 
        RowBox[{"i", ",", "j", ",", "k"}], "]"}]}]]}], 
    RowBox[{"1", "+", 
     FractionBox[
      RowBox[{
       RowBox[{"\[Sigma]", "[", 
        RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", "\[CapitalDelta]t", 
       " "}], 
      RowBox[{"2", "*", 
       RowBox[{"\[Mu]", "[", 
        RowBox[{"i", ",", "j", ",", "k"}], "]"}]}]]}]]}], ";", " ", 
  RowBox[{
   RowBox[{"CQ", "[", 
    RowBox[{"i_", ",", "j_", ",", "k_"}], "]"}], ":=", 
   FractionBox[
    FractionBox[
     RowBox[{"\[CapitalDelta]t", " "}], 
     RowBox[{"\[Mu]", "[", 
      RowBox[{"i", ",", "j", ",", "k"}], "]"}]], 
    RowBox[{"1", "+", 
     FractionBox[
      RowBox[{
       RowBox[{"\[Sigma]", "[", 
        RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", "\[CapitalDelta]t", 
       " "}], 
      RowBox[{"2", "*", 
       RowBox[{"\[Mu]", "[", 
        RowBox[{"i", ",", "j", ",", "k"}], "]"}]}]]}]]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"GetHx", "[", 
    RowBox[{"i_", ",", "j_", ",", "k_", ",", "n_"}], "]"}], ":=", " ", 
   RowBox[{
    RowBox[{
     RowBox[{"CP", "[", 
      RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", 
     RowBox[{"Hx", "[", 
      RowBox[{"i", ",", "j", ",", "k", ",", 
       RowBox[{"n", "-", "1"}]}], "]"}]}], "-", 
    RowBox[{
     RowBox[{"CQ", "[", 
      RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", 
     RowBox[{"(", 
      RowBox[{
       FractionBox[
        RowBox[{
         RowBox[{"Ez", "[", 
          RowBox[{"i", ",", 
           RowBox[{"j", "+", 
            FractionBox["1", "2"]}], ",", "k", ",", 
           RowBox[{"n", "-", 
            FractionBox["1", "2"]}]}], "]"}], "-", 
         RowBox[{"Ez", "[", 
          RowBox[{"i", ",", 
           RowBox[{"j", "-", 
            FractionBox["1", "2"]}], ",", "k", ",", 
           RowBox[{"n", "-", 
            FractionBox["1", "2"]}]}], "]"}]}], "\[CapitalDelta]y"], "-", 
       FractionBox[
        RowBox[{
         RowBox[{"Ey", "[", 
          RowBox[{"i", ",", "j", ",", 
           RowBox[{"k", "+", 
            FractionBox["1", "2"]}], ",", 
           RowBox[{"n", "-", 
            FractionBox["1", "2"]}]}], "]"}], "-", 
         RowBox[{"Ey", "[", 
          RowBox[{"i", ",", "j", ",", 
           RowBox[{"k", "-", 
            FractionBox["1", "2"]}], ",", 
           RowBox[{"n", "-", 
            FractionBox["1", "2"]}]}], "]"}]}], "\[CapitalDelta]z"]}], 
      ")"}]}]}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"GetHy", "[", 
    RowBox[{"i_", ",", "j_", ",", "k_", ",", "n_"}], "]"}], ":=", " ", 
   RowBox[{
    RowBox[{
     RowBox[{"CP", "[", 
      RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", 
     RowBox[{"Hy", "[", 
      RowBox[{"i", ",", "j", ",", "k", ",", 
       RowBox[{"n", "-", "1"}]}], "]"}]}], "-", 
    RowBox[{
     RowBox[{"CQ", "[", 
      RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", 
     RowBox[{"(", 
      RowBox[{
       FractionBox[
        RowBox[{
         RowBox[{"Ex", "[", 
          RowBox[{"i", ",", "j", ",", 
           RowBox[{"k", "+", 
            FractionBox["1", "2"]}], ",", 
           RowBox[{"n", "-", 
            FractionBox["1", "2"]}]}], "]"}], "-", 
         RowBox[{"Ex", "[", 
          RowBox[{"i", ",", "j", ",", 
           RowBox[{"k", "-", 
            FractionBox["1", "2"]}], ",", 
           RowBox[{"n", "-", 
            FractionBox["1", "2"]}]}], "]"}]}], "\[CapitalDelta]z"], "-", 
       FractionBox[
        RowBox[{
         RowBox[{"Ez", "[", 
          RowBox[{
           RowBox[{"i", "+", 
            FractionBox["1", "2"]}], ",", "j", ",", "k", ",", 
           RowBox[{"n", "-", 
            FractionBox["1", "2"]}]}], "]"}], "-", 
         RowBox[{"Ez", "[", 
          RowBox[{
           RowBox[{"i", "-", 
            FractionBox["1", "2"]}], ",", "j", ",", "k", ",", 
           RowBox[{"n", "-", 
            FractionBox["1", "2"]}]}], "]"}]}], "\[CapitalDelta]x"]}], 
      ")"}]}]}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    RowBox[{"GetHz", "[", 
     RowBox[{"i_", ",", "j_", ",", "k_", ",", "n_"}], "]"}], ":=", " ", 
    RowBox[{
     RowBox[{
      RowBox[{"CP", "[", 
       RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", 
      RowBox[{"Hz", "[", 
       RowBox[{"i", ",", "j", ",", "k", ",", 
        RowBox[{"n", "-", "1"}]}], "]"}]}], "-", 
     RowBox[{
      RowBox[{"CQ", "[", 
       RowBox[{"i", ",", "j", ",", "k"}], "]"}], "*", 
      RowBox[{"(", 
       RowBox[{
        FractionBox[
         RowBox[{
          RowBox[{"Ey", "[", 
           RowBox[{
            RowBox[{"i", "+", 
             FractionBox["1", "2"]}], ",", "j", ",", "k", ",", 
            RowBox[{"n", "-", 
             FractionBox["1", "2"]}]}], "]"}], "-", 
          RowBox[{"Ey", "[", 
           RowBox[{
            RowBox[{"i", "-", 
             FractionBox["1", "2"]}], ",", "j", ",", "k", ",", 
            RowBox[{"n", "-", 
             FractionBox["1", "2"]}]}], "]"}]}], "\[CapitalDelta]x"], "-", 
        FractionBox[
         RowBox[{
          RowBox[{"Ex", "[", 
           RowBox[{"i", ",", 
            RowBox[{"j", "+", 
             FractionBox["1", "2"]}], ",", "k", ",", 
            RowBox[{"n", "-", 
             FractionBox["1", "2"]}]}], "]"}], "-", 
          RowBox[{"Ex", "[", 
           RowBox[{"i", ",", 
            RowBox[{"j", "-", 
             FractionBox["1", "2"]}], ",", "k", ",", 
            RowBox[{"n", "-", 
             FractionBox["1", "2"]}]}], "]"}]}], "\[CapitalDelta]y"]}], 
       ")"}]}]}]}], ";"}], "\[IndentingNewLine]", 
  RowBox[{"(*", " ", 
   RowBox[{"Define", " ", "the", " ", "Field", " ", "Arguments"}], " ", 
   "*)"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]"}], "Input",
 CellChangeTimes->{{3.5601563130776615`*^9, 3.5601563610165453`*^9}, {
   3.560156399080612*^9, 3.5601565945333557`*^9}, {3.560156624891009*^9, 
   3.5601566782587023`*^9}, {3.560156912284786*^9, 3.560156941316437*^9}, {
   3.5601569929057274`*^9, 3.5601569949649315`*^9}, {3.5601570316093955`*^9, 
   3.5601570719042664`*^9}, {3.5601571481363077`*^9, 3.560157238413666*^9}, {
   3.560157311125394*^9, 3.5601573870819273`*^9}, {3.560157449497637*^9, 
   3.5601574753780823`*^9}, {3.56015751976016*^9, 3.5601575239721675`*^9}, {
   3.56015757074105*^9, 3.5601575871366787`*^9}, {3.560157618040333*^9, 
   3.5601579055176373`*^9}, {3.560157945422508*^9, 3.5601579719581547`*^9}, 
   3.5601580042502112`*^9, {3.560158046432685*^9, 3.5601580523138957`*^9}, {
   3.5601581228728194`*^9, 3.560158345828411*^9}, {3.560158386232482*^9, 
   3.560158414952132*^9}, {3.560220178063912*^9, 3.5602201956799192`*^9}, {
   3.5602202472958717`*^9, 3.5602202552953296`*^9}, {3.56022031177656*^9, 
   3.5602203162398157`*^9}, {3.5602205937896905`*^9, 3.560220599116995*^9}, {
   3.560304643550552*^9, 3.560304659549467*^9}}]
},
WindowSize->{1111, 658},
WindowMargins->{{49, Automatic}, {83, Automatic}},
Magnification->1.4000000953674316`,
FrontEndVersion->"8.0 for Microsoft Windows (64-bit) (2011\:5e743\:670815\
\:65e5)",
StyleDefinitions->"Default.nb"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{}
*)
(*CellTagsIndex
CellTagsIndex->{}
*)
(*NotebookFileOutline
Notebook[{
Cell[557, 20, 14035, 397, 1299, "Input"]
}
]
*)

(* End of internal cache information *)
